package com.ym.medical.service;

import com.github.pagehelper.PageInfo;
import com.ym.medical.domain.entity.PatientDetailEntity;
import com.ym.medical.domain.entity.PatientHealthRecordsEntity;
import com.ym.medical.domain.entity.PlateEntity;
import com.ym.medical.domain.entity.SysHelpEntity;
import com.ym.medical.domain.param.AddQuestionerParam;
import com.ym.medical.domain.param.PlateParam;
import com.ym.medical.domain.param.SysHelpParam;
import com.ym.medical.domain.vo.DoctorVo;

import java.util.List;

/**
 * @author : 张文博
 * @date : 2019/5/14 13:40
 */
public interface IPatientCenterSV {
    /***
     * 患者健康档案
     * @param patientId
     * @return
     */
    PatientHealthRecordsEntity selectArchives(Long patientId);

    /**
     * 患者关注的医生
     *
     * @param currUserId
     * @return
     */
    PageInfo<DoctorVo> selectMyDoctor(int pageNo, int limit, Long currUserId);

    /***
     * 健康档案添加
     * @param record
     * @return
     */
    PatientHealthRecordsEntity addArchives(PatientHealthRecordsEntity record);

    /***
     * 帮助信息查询
     * @param pageNo
     * @param limit
     * @param sysHelpModel
     * @return
     */
    PageInfo<SysHelpEntity> selectHelpInfo(int pageNo, int limit, SysHelpParam sysHelpModel);

    /***
     * 板块列表查询
     * @param pageNo
     * @param limit
     * @param plateModel
     * @return
     */

    PageInfo<PlateEntity> selectMyPlate(int pageNo, int limit, PlateParam plateModel);

    /***
     * 用户选择的板块
     * @param userId
     * @return
     */
    List<PlateEntity> selectUserPlate(Long userId);

    /***
     * 用户板块添加
     * @param plateIds
     * @param userId
     * @return
     */
    int addPlate(Long[] plateIds, Long userId);

    /**
     * 用户板块删除
     *
     * @param plateIds
     * @param userId
     * @return
     */
    int deleteMyPlate(Long[] plateIds, Long userId);

    /***
     * 健康档案修改
     * @param patientHealthRecords
     * @return
     */
    int upArchives(PatientHealthRecordsEntity patientHealthRecords);

    /***
     * 添加好友
     * @param patientDetail
     * @return
     */
    Long addOthers(AddQuestionerParam patientDetail, Long userId);

    /***
     * 删除家人
     * @param patientId
     * @return
     */
    int deletePerson(Long patientId);


    /***
     * 患者家人信息修改
     * @param patientDetail
     * @return
     */
    int updatePatient(PatientDetailEntity patientDetail);


}
